package com.greenold.residing.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.greenold.common.annotation.Excel;
import com.greenold.common.core.domain.BaseEntity;

/**
 * 请假管理对象 leave_request
 * 
 * @author ruoyi
 * @date 2025-10-13
 */
@Data
public class LeaveRequest extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    @Excel(name = "序号")
    private String id;

    /** 单据编号 */
    @Excel(name = "单据编号")
    private String docNo;

    /** 老人姓名 */
    @Excel(name = "老人姓名")
    private String elderName;

    /** 老人身份证号 */
    @Excel(name = "老人身份证号")
    private String elderIdCard;

    /** 老人护理等级 */
    @Excel(name = "老人护理等级")
    private String levelName;

    /** 请假开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "请假开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaveStart;

    /** 预计返回时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计返回时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expectedReturn;

    /** 实际返回时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际返回时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date actualReturn;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 创建人姓名 */
    @Excel(name = "创建人姓名")
    private String createName;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 请假状态 */
    @Excel(name = "请假状态")
    private String leaveStatus;

    /** 老人id */
    private String elderId;

    /** 业务id（流程实例） */
    private String businessId;

    /** 陪同人类型 */
    private String companionType;

    /** 陪同人姓名 */
    private String companionName;

    /** 陪同人联系方式 */
    private String companionContact;

    /** 请假天数 */
    private BigDecimal leaveDays;

    /** 请假原因 */
    private String leaveReason;

    /** 销假备注 */
    private String cancelRemark;

    /** 销假时间 */
    private Date cancelTime;

    /** 销假人 */
    private String cancelBy;

    /** 扩展字段1 */
    private String nickName;

    /** 扩展字段2 */
    private String extend2;







}
